With increasing network traffic in the internet, network monitoring tools designed to gather and process network traffic may become increasingly difficult to achieve visibility in the entire network. To achieve network visibility, several techniques may be used, including load balancing, filtering and sampling. Sampling techniques may include technologies such as NetFlow, sFlow, cFlow, etc. These flow based sampling techniques may randomly sample 1 packet out of every N packets. For certain applications of network visibility processing, this 1 packet out of every N packet sampling technique is sufficient to infer network monitoring and security performance. However, for certain network and security monitoring, sampling 1 packet out of every N packets may not be sufficient for inferring network monitoring and security performance. The reason for this is that certain analysis techniques may provide inaccurate data results if all of the packets for a given set of user data sessions (network flows) are not available for analysis.